Atanasoff–Berry Computer

The Atanasoff–Berry Computer (ABC) was the first electronic digital computing device.[1] Conceived in 1937, the machine was not programmable, being designed only to solve systems of linear equations. It was successfully tested in 1942. However, its intermediate result storage mechanism, a paper card writer/reader, was unreliable, and when inventor John Vincent Atanasoff left Iowa State College for World War II assignments, work on the machine was discontinued.[2] The ABC pioneered important elements of modern computing, including binary arithmetic and electronic switching elements,[3] but its special-purpose nature and lack of a changeable, stored program distinguish it from modern computers. The computer was designated an IEEE Milestone in 1990.[4]

Atanasoff and Clifford Berry's computer work was not widely known until it was rediscovered in the 1960s, amidst conflicting claims about the first instance of an electronic computer. At that time, the ENIAC was considered to be the first computer in the modern sense, but in 1973 a U.S. District Court invalidated the ENIAC patent and concluded that the ENIAC inventors had derived the subject matter of the electronic digital computer from Atanasoff (see Patent dispute).

Contents

Design and construction

According to Atanasoff's account, several key principles of the Atanasoff–Berry Computer were conceived in a sudden insight after a long nighttime drive during the winter of 1937–38. The ABC innovations included electronic computation, binary arithmetic, parallel processing, regenerative capacitor memory, and a separation of memory and computing functions. The mechanical and logic design was worked out by Dr. Atanasoff over the next year. A grant application to build a proof of concept prototype was submitted in March 1939 to the Agronomy department which was also interested in speeding up computation for economic and research analysis. $5,000 of further funding to complete the machine came from the nonprofit Research Corporation of New York City.

The ABC was built by Dr. Atanasoff and graduate student Clifford Berry in the basement of the physics building at Iowa State College during 1939–42. The initial funds were released in September, and the 11-tube prototype was first demonstrated in October, 1939. A December demonstration prompted a grant for construction of the full-scale machine.[5] The ABC was built and tested over the next two years. A January 15, 1941 story in the Des Moines Register announced the ABC as "an electrical computing machine" with more than 300 vacuum tubes that would "compute complicated algebraic equations" (but gave no precise technical description of the computer). The system weighed more than seven hundred pounds (320 kg). It contained approximately 1 mile (1.6 km) of wire, 280 dual-triode vacuum tubes, 31 thyratrons, and was about the size of a desk.

It was not a Turing complete computer, which distinguishes it from more general machines, like contemporary Konrad Zuse's Z3 (1941), or later machines like the 1946 ENIAC, 1949 EDVAC, the University of Manchester designs, or Alan Turing's post-War designs at NPL and elsewhere. Nor did it implement the stored program architecture that made practical fully general-purpose, reprogrammable computers.

The machine was, however, the first to implement three critical ideas that are still part of every modern computer:

  1. Using binary digits to represent all numbers and data
  2. Performing all calculations using electronics rather than wheels, ratchets, or mechanical switches
  3. Organizing a system in which computation and memory are separated.

In addition, the system pioneered the use of regenerative capacitor memory, as in the DRAM still widely used today.

The memory of the Atanasoff–Berry Computer was a pair of drums, each containing 1600 capacitors that rotated on a common shaft once per second. The capacitors on each drum were organized into 32 "bands" of 50 (30 active bands and 2 spares in case a capacitor failed), giving the machine a speed of 30 additions/subtractions per second. Data was represented as 50-bit binary fixed point numbers. The electronics of the memory and arithmetic units could store and operate on 60 such numbers at a time (3000 bits).

The alternating current power line frequency of 60 Hz was the primary clock rate for the lowest level operations.

The arithmetic logic functions were fully electronic, implemented with vacuum tubes. The family of logic gates ranged from inverters to two and three input gates. The input and output levels and operating voltages were compatible between the different gates. Each gate consisted of one inverting vacuum tube amplifier, preceded by a resistor divider input network that defined the logical function. The control logic functions, which only needed to operate once per drum rotation and therefore did not require electronic speed, were electromechanical, implemented with relays.

Although the Atanasoff–Berry Computer was an important step up from earlier calculating machines, it was not able to run entirely automatically through an entire problem. An operator was needed to operate the control switches to set up its functions, much like the electro-mechanical calculators and unit record equipment of the time. Selection of the operation to be performed, reading, writing, converting to or from binary to decimal, or reducing a set of equations was made by front panel switches and in some cases jumpers.

There were two forms of input and output: primary user input and output and an intermediate results output and input. The intermediate results storage allowed operation on problems too large to be handled entirely within the electronic memory. (The largest problem that could be solved without the use of the intermediate output and input was two simultaneous equations, a trivial problem.)

Intermediate results were binary, written onto paper sheets by electrostatically modifying the resistance at 1500 locations to represent 30 of the 50 bit numbers (one equation). Each sheet could be written or read in one second. The reliability of the system was limited to about 1 error in 100,000 calculations by these units, primarily attributed to lack of control of the sheets' material characteristics. In retrospect a solution could have been to add a parity bit to each number as written. This problem was not solved by the time Atanasoff left the university for war-related work.

Primary user input was decimal, via standard IBM 80 column punched cards and output was decimal, via a front panel display.

Comparison with other early computers

Defining characteristics of some early digital computers of the 1940s (In the history of computing hardware)
Name First operational Numeral system Computing mechanism Programming Turing complete
Zuse Z3 (Germany) May 1941 Binary floating point Electro-mechanical Program-controlled by punched 35 mm film stock (but no conditional branch) In theory (1998)
Atanasoff–Berry Computer (US) 1942 Binary Electronic Not programmable—single purpose No
Colossus Mark 1 (UK) February 1944 Binary Electronic Program-controlled by patch cables and switches No
Harvard Mark I – IBM ASCC (US) May 1944 Decimal Electro-mechanical Program-controlled by 24-channel punched paper tape (but no conditional branch) No
Colossus Mark 2 (UK) June 1944 Binary Electronic Program-controlled by patch cables and switches In theory (2011)
Zuse Z4 (Germany) March 1945 Binary floating point Electro-mechanical Program-controlled by punched 35 mm film stock Yes
ENIAC (US) July 1946 Decimal Electronic Program-controlled by patch cables and switches Yes
Manchester Small-Scale Experimental Machine (Baby) (UK) June 1948 Binary Electronic Stored-program in Williams cathode ray tube memory Yes
Modified ENIAC (US) September 1948 Decimal Electronic Read-only stored programming mechanism using the Function Tables as program ROM Yes
EDSAC (UK) May 1949 Binary Electronic Stored-program in mercury delay line memory Yes
Manchester Mark 1 (UK) October 1949 Binary Electronic Stored-program in Williams cathode ray tube memory and magnetic drum memory Yes
CSIRAC (Australia) November 1949 Binary Electronic Stored-program in mercury delay line memory Yes

Function

The ABC was designed for a specific purpose, the solution of systems of simultaneous linear equations. It could handle systems with up to twenty-nine equations, a difficult problem for the time. Problems of this scale were becoming common in physics, the department in which John Atanasoff worked. The machine could be fed two linear equations with up to twenty-nine variables and a constant term and eliminate one of the variables. This process would be repeated manually for each of the equations, which would result in a system of equations with one fewer variable. Then the whole process would be repeated to eliminate another variable.

Patent dispute

J. Presper Eckert and John Mauchly were the first to patent a digital computing device, the ENIAC. The ABC had been examined by John Mauchly in June 1941, and Isaac Auerbach,[6] a former student of Mauchly's, alleged that it influenced his later work on ENIAC, although Mauchly denied this (Shurkin, pg. 280-299). In 1967 Honeywell sued Sperry Rand in an attempt to break their ENIAC patents, arguing the ABC constituted prior art. The United States District Court for the District of Minnesota released its judgement on October 19, 1973, finding in Honeywell v. Sperry Rand that the ENIAC patent was a derivative of John Atanasoff's invention. The decision was not appealed.

Campbell-Kelly and Aspray conclude:

The extent to which Mauchly drew on Atanasoff's ideas remains unknown, and the evidence is massive and conflicting. The ABC was quite modest technology, and it was not fully implemented. At the very least we can infer that Mauchly saw the potential significance of the ABC and that this may have led him to propose a similar, electronic solution.

The case was legally resolved on October 19, 1973 when U.S. District Judge Earl R. Larson held the ENIAC patent invalid, ruling that the ENIAC derived many basic ideas from the Atanasoff–Berry Computer. Judge Larson explicitly stated, "Eckert and Mauchly did not themselves first invent the automatic electronic digital computer, but instead derived that subject matter from one Dr. John Vincent Atanasoff".

Replica

The original ABC was eventually dismantled, when the University converted the basement to classrooms, and all of its pieces except for one memory drum were discarded. In 1997, a team of researchers led by John Gustafson from Ames Laboratory (located on the Iowa State campus) finished building a working replica of the Atanasoff–Berry Computer at a cost of $350,000. The replica ABC is now on permanent display in the first floor lobby of the Durham Center for Computation and Communication at Iowa State University. It is currently on loan to the Computer History Museum in Mountain View, California for a major exhibition

See also

References

  1. ^ Ralston, Anthony; Meek, Christopher, eds. (1976), Encyclopedia of Computer Science (second ed.), pp. 488–489, ISBN 0-88405-321-0 
  2. ^ Copeland, Jack (2006), Colossus: The Secrets of Bletchley Park's Codebreaking Computers, Oxford: Oxford University Press, pp. 101–115, ISBN 0-19-284055-X 
  3. ^ Campbell-Kelly, Martin; Aspray, William (1996), Computer: A History of the Information Machine, New York, NY: Basic Books, p. 84, ISBN 0-465-02989-2 
  4. ^ "Milestones:Atanasoff-Berry Computer, 1939". IEEE Global History Network. IEEE. http://www.ieeeghn.org/wiki/index.php/Milestones:Atanasoff-Berry_Computer,_1939. Retrieved 3 August 2011. 
  5. ^ Mollenhoff, Clark R. (1988), Atanasoff: Forgotten Father of the Computer, Ames: Iowa State University Press, pp. 47, 48, ISBN 0-8138-0032-3 
  6. ^ Oral history interview with Isaac Levin Auerbach, Charles Babbage Institute

External links